package com.ruoyi.warehousemanager.service.impl;

import java.util.List;

import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.warehousemanager.pojo.ItemVO;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.warehousemanager.mapper.ItemMapper;
import com.ruoyi.warehousemanager.domain.Item;
import com.ruoyi.warehousemanager.service.ItemService;
import org.springframework.transaction.annotation.Transactional;

/**
 * 易耗品管理Service业务层处理
 * 
 * @author fan
 * @date 2023-05-15
 */
@Service
public class ItemServiceImpl implements ItemService
{
    @Autowired
    private ItemMapper itemMapper;
    /**
     * 查询易耗品管理
     * 
     * @param itemId 易耗品管理主键
     * @return 易耗品管理
     */
    @Override
    public Item selectItemByItemId(Long itemId)
    {
        return itemMapper.selectItemByItemId(itemId);
    }

    /**
     * 查询易耗品管理列表
     * 
     * @param item 易耗品管理
     * @return 易耗品管理
     */
    @DataScope(deptAlias = "d")
    @Override
    public List<ItemVO> selectItemList(Item item)
    {
        return itemMapper.selectItemList(item);
    }

    /**
     * 通过物品名查询物品
     *
     * @param itemName 物品名
     * @return 物品对象信息
     */
    @Override
    public Item selectItemByItemName(String itemName)
    {
        return itemMapper.selectItemByItemName(itemName);
    }

    /**
     * 新增易耗品管理
     * 
     * @param item 易耗品管理
     * @return 结果
     */
    @Transactional
    @Override
    public int insertItem(Item item)
    {
        return itemMapper.insertItem(item);
    }

    /**
     * 修改易耗品管理
     * 
     * @param item 易耗品管理
     * @return 结果
     */
    @Transactional
    @Override
    public int updateItem(Item item)
    {
        return itemMapper.updateItem(item);
    }

    /**
     * 批量删除易耗品管理
     * 
     * @param itemIds 需要删除的易耗品管理主键
     * @return 结果
     */
    @Transactional
    @Override
    public int deleteItemByItemIds(Long[] itemIds)
    {
        return itemMapper.deleteItemByItemIds(itemIds);
    }

    /**
     * 删除易耗品管理信息
     * 
     * @param itemId 易耗品管理主键
     * @return 结果
     */
    @Transactional
    @Override
    public int deleteItemByItemId(Long itemId)
    {
        return itemMapper.deleteItemByItemId(itemId);
    }
}
